package com.jk.common.enums;

import lombok.Getter;

@Getter
public enum EnableStatusEnum {
    // 账户状态(0启用、1禁用)
    ENABLE((byte) 0, "启用"),

    DISABLE((byte) 1, "禁用");

    private final byte code;
    private final String message;

    EnableStatusEnum(byte code, String message) {
        this.code = code;
        this.message = message;
    }

    /**
     * 根据错误码查找对应的枚举
     *
     * @param code 错误码
     * @return 对应的枚举
     */
    public static EnableStatusEnum fromCode(int code) {
        for (EnableStatusEnum errorCode : EnableStatusEnum.values()) {
            if (errorCode.getCode() == code) {
                return errorCode;
            }
        }
        throw new IllegalArgumentException("未知的错误码: " + code);
    }

    /**
     * 校验枚举有效性
     */
    public static void checkValid(int code) {
        for (EnableStatusEnum errorCode : EnableStatusEnum.values()) {
            if (errorCode.getCode() == code) {
                return;
            }
        }
        throw new IllegalArgumentException("未知的错误码: " + code);
    }
}
